package com.candy.candymember;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;

/**
 * @author suYanLong
 * @date 2022年10月13日 16:39
 */
public class TestJedis {

    public static void main(String[] args) {
        Jedis redis = new Jedis("127.0.0.1", 6379);
        redis.select(0);//使用第0个库
        redis.flushDB();//清空第0个库所有数据

        long start = System.currentTimeMillis();
        for (int i = 0; i < 100000; i++) {
            redis.set("key_" + i, i+ ""); //循环执行10000条数据插入redis
        }
        long end = System.currentTimeMillis();
        System.out.println("正常插入" + redis.dbSize() + "数据, 花费时间:" + (end - start) + " ms");


        redis.flushDB();//清空第0个库所有数据
        long startPipe = System.currentTimeMillis();
        Pipeline pipe = redis.pipelined();

        for (int i = 0; i < 100000; i++) {
            pipe.set("key_" + i, i+ ""); //将命令封装到PIPE对象，此时并未执行，还停留在客户端
        }
        pipe.sync(); //将封装后的PIPE一次性发给redis
        long endPipe = System.currentTimeMillis();
        System.out.println("使用Pipleline插入" + redis.dbSize() + "数据, 花费时间:" + (endPipe- startPipe) + " ms");
    }

}
